package fr.adfm.managedbean;

import java.io.Serializable;

import javax.faces.context.FacesContext;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.web.util.HttpSessionMutexListener;

import fr.adfm.dto.CouleurDto;
import fr.adfm.dto.MemberDto;
import fr.adfm.dto.PanierDto;
import fr.adfm.dto.ProduitDto;
import fr.adfm.dto.TailleDto;
import fr.adfm.dto.VentePriveeDto;

@Component
@Scope("session")
public class SessionManager implements Serializable {

	private MemberDto membre;

	private VentePriveeDto ventePrivee;
	private PanierDto panier = new PanierDto();
	private ProduitDto produit;
	
	private CouleurDto selectedCouleur;
	private TailleDto selectedTaille;
	
	public CouleurDto getSelectedCouleur() {
		return selectedCouleur;
	}

	public void setSelectedCouleur(CouleurDto selectedCouleur) {
		this.selectedCouleur = selectedCouleur;
	}

	public TailleDto getSelectedTaille() {
		return selectedTaille;
	}

	public void setSelectedTaille(TailleDto selectedTaille) {
		this.selectedTaille = selectedTaille;
	}

	public VentePriveeDto getVentePrivee() {
		return ventePrivee;
	}

	public void setVentePrivee(VentePriveeDto ventePrivee) {
		this.ventePrivee = ventePrivee;
	}

	public PanierDto getPanier() {
		return panier;
	}

	public void setPanier(PanierDto panier) {
		this.panier = panier;
	}

	public ProduitDto getProduit() {
		return produit;
	}

	public void setProduit(ProduitDto produit) {
		this.produit = produit;
	}

	public MemberDto getMembre() {
		return membre;
	}
	
	public void setMembre(MemberDto membre) {
		this.membre = membre;
	}
	
	public String deconnecter() {
		FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
		return "login";
	}
	
	public String listeVentesprivees() {
		setVentePrivee(null);
		return "liste_ventesprivees";
	}

	
}
